home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / intrfc55.arc / INTRFC.DOC < prev    next >
Text File  |  1990-02-25  |  5KB  |  103 lines

  1. INTRFC - Program to dump TPU files. (Feb, 1990)
  2.  
  3. Version 1.2:  Dumps TP 5.5 format files.
  4.  
  5. Written for the public domain by D.J. Murdoch (CIS 71631,122 or
  6. Fidonet 1:221/180.4)
  7.  
  8. INTRODUCTION
  9.  
  10.      I started INTRFC because I got a library of Turbo Pascal 4.0
  11. subroutines which had some errors in the documentation.  One of 
  12. the functions wanted its arguments to be a special type, but the 
  13. doc's didn't tell me which one.  TP gave me an error message 
  14. saying I wasn't using the right type, but wouldn't tell me which 
  15. one to use either.  I decided to decode the TPU file and figure 
  16. out what TP wanted.  Once I got started, it was hard to stop.  
  17. So, I ended up writing INTRFC, which printed out almost all the 
  18. information you'll ever need about the interface to a TPU unit.  
  19.  
  20.      I decided to upgrade INTRFC to TP 5.5 files recently, and 
  21. got carried away again.  Now it dumps the complete file, not just 
  22. the interface section.
  23.  
  24.      Because of the way it was written, i.e. entirely by 
  25. guesswork, I'm sure there are numerous special cases that it 
  26. doesn't handle properly.  That's one reason the source code is 
  27. there - so other people can fix up my mistakes. 
  28.  
  29.      The other reason I included source code is because it will 
  30. serve as a bit of documentation for the TPU file format since 
  31. Borland will never publish it.  (They want to be free to change 
  32. the format, making INTRFC obsolete whenever a new TP arrives.)  
  33. Others who want to do completely different things to a TPU file 
  34. may benefit from reading it.  (The other difficulty with a 
  35. program written the way this one was is that comments are almost 
  36. non-existent.  If you have any short questions about it that you 
  37. can't figure out, send them to me at one of the addresses above.) 
  38.  
  39. USAGE:  
  40.         INTRFC /options unit
  41.    where options are letters from the following:
  42.       B - emitted code Bytes
  43.       C - initialized Constant blocks
  44.       D - coDe blocks
  45.       E - routine Entry records
  46.       G - emitted Global const bytes
  47.       H - TPU Header
  48.       I - Implementation section (if $D was used in compilation)
  49.       L - proc/fn Locals (if $L was used in compilation)
  50.       N - Names in interface
  51.       O - Object VMT records
  52.       R - Relocation records
  53.       V - Var blocks
  54.       A - turn All options on
  55.       Tpath - set the Turbo directory, where the TURBO.TPL and referenced 
  56.               units are kept
  57.  
  58.    Options are processed sequentially and toggle the display.
  59.    E.G. To see all but the relocation records in the system unit, use
  60.       INTRFC /AR /T\turbo SYSTEM 
  61.    The default is just the names in the interface section.
  62.  
  63. LIMITATIONS
  64.  
  65.     There are tons of limitations to INTRFC.  It doesn't know how 
  66. to print any but the simplest types of constants.  It won't print 
  67. the values of typed constants. Etc. Etc. Etc.  If you want it to 
  68. do something differently just go ahead and change it!  I 
  69. recommend compiling with all possible checks turned on, since 
  70. it's pretty easy to get lost in all those pointers.  
  71.  
  72. FILES
  73.  
  74. The following files should be included in this package.
  75.  
  76. INTRFC   DOC     3653  25-02-90   8:41p  Usage docs                            
  77. TPU55    DOC     3458  25-02-90   8:44p  TPU structure docs                    
  78. INTRFC   EXE    44336  25-02-90   8:42p  The main executable                   
  79.  
  80. INTRFC   PAS     3356  25-02-90   7:02p  The main program                      
  81. GLOBALS  PAS      961  25-02-90   7:02p  Program globals                       
  82.  
  83. HEAD     PAS     2359  25-02-90   1:22p  The TPU header dumper                 
  84. NAMELIST PAS    17471  25-02-90   2:16p  Prints interface section              
  85. NAMETYPE PAS     2412  25-02-90   2:06p  Type definitions for NAMELIST         
  86. BLOCKS   PAS     5073  25-02-90   2:21p  Routines for code_blocks, etc.        
  87. CODE     PAS     1313  25-02-90   8:09p  Code and const dumper                 
  88. RELOC    PAS     3638  25-02-90  10:31a  Prints relocation records             
  89.  
  90. PARAMS   PAS     2729  25-02-90   7:07p  Parameter parser                      
  91. LOADER   PAS     5032  25-02-90   2:29p  Reads in .TPU and .TPL files          
  92. TEST1    PAS      715  25-02-90   7:08p  Test file
  93. UTIL     PAS     6613  24-02-90  11:01a  Various utility routines              
  94. DUMP     PAS     2302  25-02-90   8:06p  Various dump routines                 
  95.  
  96. THAT'S IT!
  97.  
  98.      Have fun with INTRFC and Turbo Pascal.  I'd like to hear of 
  99. any novel uses. 
  100.  
  101. D.J. Murdoch
  102.  
  103.